import os
import shutil

# 定义文件夹路径
images_folder = 'path/to/images'  # 存放图片的文件夹路径
labels_folder = 'path/to/labels'  # 存放标签的文件夹路径
destination_folder = 'path/to/destination'  # 存放复制的 .txt 文件的目标文件夹

# 确保目标文件夹存在，如果不存在则创建
if not os.path.exists(destination_folder):
    os.makedirs(destination_folder)

# 遍历 images 文件夹中的所有图片文件
for image_name in os.listdir(images_folder):
    # 检查文件是否是图片（根据扩展名过滤）
    if image_name.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp', '.gif')):
        # 获取图片文件的基础名称（去掉扩展名）
        base_name = os.path.splitext(image_name)[0]

        # 根据图片的基础名称生成对应的 .txt 文件路径
        label_file = os.path.join(labels_folder, base_name + '.txt')

        # 检查对应的 .txt 文件是否存在
        if os.path.exists(label_file):
            # 生成目标文件路径
            destination_path = os.path.join(destination_folder, base_name + '.txt')

            # 复制 .txt 文件到目标文件夹
            shutil.copy(label_file, destination_path)
            print(f"已将 {label_file} 复制到 {destination_path}")
        else:
            print(f"警告：找不到对应的标签文件 {base_name}.txt")
